[c++ 求助 ] 帮我看看

来源:百度知道 编辑:UC知道 时间:2024/09/21 04:31:16
#include <windows.h>//
void main()
{

CopyFile("E:\\a.txt","D:\\a.txt",true); //"E:\\a.txt" 已经存在
}
//-------------------------------------------------
报错:
error C2664: 'CopyFileW' : cannot convert parameter 1 from 'const char [9]' to 'LPCWSTR'
谁能告诉我错在哪啊


CopyFile("E:\\a.txt","D:\\a.txt",true);
改成
CopyFile(L"E:\\a.txt",L"D:\\a.txt",true);
因为你的编译环境应该是定义了UNICODE,要使用宽字符的字符串

因为参数要求是非常量的而"E:\\a.txt"定义的时候是常量。所以出错
#include <windows.h>//
void main()
{
char sz1[100];
char sz2[100];
memcpy(sz1,"E:\\a.txt",sizeof("E:\\a.txt"));
memcpy(sz2,"E:\\a.txt",sizeof("E:\\a.txt"));
CopyFile(sz1,sz2,true); //"E:\\a.txt" 已经存在
}

十分正确